XNA是由Microsoft於2006年底所提出來的Game Studio,提供很多簡易的功能函數,讓即使是第一次設計遊戲的使用者也可以輕易的上手。本系列文章的第一篇,將會簡單說明XNA Framework的運作流程,且以顯示程式中的貼圖為例說明。
以往使用的遊戲繪圖工具可分為兩大類,以OpenGL指令集所成像的遊戲,或是以DirectX指令集所成像的遊戲。這兩種繪圖工具,大多以C/C++為主。然而,很多第一次接觸遊戲程式設計的使用者,對於C或C++程式語言中的指標、資源分配等問題所苦惱。
XNA所使用的程式語言為C#,大幅降低指標的使用,以及資源分配的問題,XNA更便利於以往的DirectX的另一項重大原因,就是XNA提供了基本遊戲的功能,在XNA的Framework中,他會幫使用者初始好繪圖介面、輸入介面和音效介面,程式撰寫的人員只需要藉由XNA Framework往外擴充再加入一些自己所想要的功能即可。同時,XNA所開發出來的遊戲可以在XBOX360以及PC上所執行,在最新版的XNA3.0中,加入新的微軟多媒體播放裝置ZUNE。
XNA從2006年底推出到現在已將近兩年多,以下是XNA版本介紹,以及功能特色:
●XNA 1.0:製作出來的遊戲可以在PC以及XBOX360當中執行,讓使用者也可以輕鬆的開發出PC以及XBOX360上面的遊戲。
●XNA 2.0:隨者網路遊戲的盛行,XNA在2.0的版本中,加入網路連線的元素,同時修正部分Function的安全性。
●XNA 3.0:新增多媒體播放裝置,讓使用者可以開發出ZUNE平台上面的遊戲。同時,3.0新增很多功能,像是網路邀請的功能、試用版的功能、播放多媒體檔案等。
本系列文章所介紹的程式開發,主要以設計Xbox 360的遊戲為主,設計一個雙人遊玩的桌球小遊戲,我們將這個小遊戲分成5項課程,分別如下:
在第一篇文章中,將會簡單說明XNA Framework的運作流程,會教各位如何將一張貼圖加入到程式中,然後顯示出來,之後會再教各位如何顯示文字。同時,我們可以進行一些小小的修改,像是更改圖片顏色、放大縮小和旋轉圖片等的操作。
在第二篇文章中,將會教各位輸入裝置的使用。在Xbox 360中,可以使用鍵盤跟Xbox 360的控制器來進行輸入的操作。此篇主要會以如何使用Xbox 360的控制器來進行輸入操作為主。
在第三篇文章中,我們將會加入第二個使用者的輸入操作,如此一來兩個玩家都可以進行簡單的輸入操作。
在第四篇文章中,將會教簡易的碰撞偵測,讓球碰到球竿以後,會自動的反射回去。
第五篇文章將會教各位如何增加遊戲的背景音樂,以及遊戲的音效。音樂音效的會分成兩個部份教學,一個是使用XNA Game Studio所提供的XACT音效整合,一個是XNA 3.0所提供的方法來進行音樂音效的播放。
最後一篇,也就是第六篇,將會結合前面5篇的內容,完成一個簡易的桌球小遊戲。當你看完這個小遊戲的範例以後,你也可以嘗試著自己也動手來完成一個屬於自己的小遊戲。